#pragma once

#include "../umlmodel_global.h"

#include "Dependency.h"

namespace uml {

/// <summary>
/// Usage
/// A Usage is a Dependency in which the client Element requires the supplier
/// Element (or set of Elements) for its full implementation or operation.
/// </summary>
class UMLMODEL_EXPORT Usage : public Dependency {

public: // Constructors and destructors
    explicit Usage(const QString& umlType="uml::Usage");

public: // JsonSerializable override
    void fromJson(const QJsonObject& json, QStringList& errorList) override;
    void toJson(QJsonObject& json) override;

};

} // namespace uml
